package com.ruoyi.system.mapper;

import java.util.List;
import com.ruoyi.system.domain.PropertyCompany;

/**
 * 物业主体信息Mapper接口
 * 
 * @author ruoyi
 * @date 2025-10-27
 */
public interface PropertyCompanyMapper 
{
    /**
     * 查询物业主体信息
     * 
     * @param companyId 物业主体信息主键
     * @return 物业主体信息
     */
    public PropertyCompany selectPropertyCompanyByCompanyId(Long companyId);

    /**
     * 查询物业主体信息列表
     * 
     * @param propertyCompany 物业主体信息
     * @return 物业主体信息集合
     */
    public List<PropertyCompany> selectPropertyCompanyList(PropertyCompany propertyCompany);

    /**
     * 新增物业主体信息
     * 
     * @param propertyCompany 物业主体信息
     * @return 结果
     */
    public int insertPropertyCompany(PropertyCompany propertyCompany);

    /**
     * 修改物业主体信息
     * 
     * @param propertyCompany 物业主体信息
     * @return 结果
     */
    public int updatePropertyCompany(PropertyCompany propertyCompany);

    /**
     * 删除物业主体信息
     * 
     * @param companyId 物业主体信息主键
     * @return 结果
     */
    public int deletePropertyCompanyByCompanyId(Long companyId);

    /**
     * 批量删除物业主体信息
     * 
     * @param companyIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deletePropertyCompanyByCompanyIds(Long[] companyIds);

    // 根据ID查询物业详情（包含关联的楼盘数量）
    PropertyCompany selectByIdWithCount(Long companyId);
}
